/*
 *  Macros.h
 *  T3nsors
 *
 *  Created by Michael Barriault on 10-07-12.
 *  Copyright 2010 University of Guelph. All rights reserved.
 *
 */

#ifndef MACROS_HEADER
#define MACROS_HEADER

#define FOR(n,N) for ( int n=0; n<N; n++ )
#define FRO(n,o,N) for ( int n=o; n<N; n++ )
#define FORa for ( int a=0; a<3; a++ )
#define FORb for ( int b=0; b<3; b++ )
#define FORO for ( int o=0; o<O(); o++ )
#define DEBUGNO
#define FORALL(i,j,k) for ( int i=0; i<O[0]; i++ ) for ( int j=0; j<O[1]; j++ ) for ( int k=0; k<O[2]; k++ )




// Threading...
#ifndef APPLE
#define THREAD(fname,args...) THR(boost::bind(&MW::fname,this,args))
#define THR boost::thread
#endif
#ifdef APPLE
#define THREAD(fname,args...) fname(args)
#define THR ;
#endif

#endif
